﻿module Lhz.Interface.Page {
    export interface DetailPageOptions<T extends Lhz.Entity.ServiceCenter.DbEntity> {
        serviceNo?: string;
        mappingOptionsArray: DetailMappingOptions<T>[],
        createItem?: (dp: Lhz.Page.DetailPage<T>) => T;
        layoutSelector?: string,
        formSelector?: string,
        buttonOkSelector?: string,
        buttonCancelSelector?: string,
        queryByPkOperationNo?: string,
        addOperationNo?: string,
        updateOperationNo?: string,
        getItem?: (dp: Lhz.Page.DetailPage<T>) => T;
        getDbOperation?: (dp: Lhz.Page.DetailPage<T>) => boolean;
        saveStart?: (dp: Lhz.Page.DetailPage<T>) => void;
        initiate?: (dp: Lhz.Page.DetailPage<T>, initStartCallback: (dp: Lhz.Page.DetailPage<T>) => void) => void;
        initialized?: (dp: Lhz.Page.DetailPage<T>) => void;
    }
}
